import type mapboxgl from 'mapbox-gl'

export interface Layer {
  id: string
  name: string
  attach(m: mapboxgl.Map): void
}

export interface SymbolStyle {
  icon?: string
  color: string
  textOpacity: number
  fontScale: number
  textOffset: number[]
  textMaxWidth?: number
  textJustify?: 'left' | 'center' | 'right'
}

export interface LineStyle {
  lineColor: string
  lineWidth: number
  lineOpacity: number
  lineDashArray?: number[]
}

export interface FillStyle {
  fillColor: string
  fillOpacity: number
  fillOutlineColor: string
}
